//
//  BaseFruits.m
//  FruitsAndHealthy
//
//  Created by appying_wxj on 14/11/20.
//  Copyright (c) 2014年 appying_wxj. All rights reserved.
//

#import "BaseFruits.h"

@implementation BaseFruits
+ (void)createTable
{
    // 根据数据库文件路径创建FMDataBase的对象
    FMDatabase *db = [BaseFruitsUtil getDataBase];
    
    // 调用open方法的时候  会进行判断，不存在 就创建数据库并打开，创建过  就打开
    if (![db open])
    {
        [db close];
        NSLog(@"数据库打开失败！");
        return;
    }
    // 设置缓存  能够提高执行的效率
    [db setShouldCacheStatements:YES];
    
    //判断数据库中存在不存在一张表test
    if (![db tableExists:@"test"])
    {
        // 添加  删除  修改  都用executeUpdate
        [db executeUpdate:@"CREATE TABLE test (fruits_id INTEGER PRIMARY KEY AUTOINCREMENT,fruits_name TEXT,fruits_content TEXT)"];
    }
    // 关闭数据库
    [db close];
}
// 获取所有的数据信息  查询数据库
+(NSMutableArray *)getAllFruitsTitle{
    FMDatabase *db = [BaseFruitsUtil getDataBase];
    //打开数据库
    if (![db open]) {
        [db close];
        NSLog(@"打开数据库失败");
        return nil;
    }
    // 设置缓存
    [db setShouldCacheStatements:YES];
    
    //查询数据 把查询结果放入结果集
    FMResultSet *rs = [db executeQuery:@"SELECT * FROM test"];
    
    NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:0];
    
    while ([rs next])
    {
        Fruits *p = [[Fruits alloc] init];
        p.fruitsTitle = [NSString stringWithFormat:@"%d",[rs intForColumn:@"fruits_id"]];
        p.fruitsTitle = [rs stringForColumn:@"fruits_name"];
        p.fruitsContent = [rs stringForColumn:@"fruits_content"];
//        p.record = [rs boolForColumn:@"fruits_record"];
        [array addObject:p];
        
    }
    // 关闭结果集
    [rs close];
    
    // 关闭数据库
    [db close];

    return array;
}

// 在数据库中添加数据
+ (void)insertFruits:(Fruits *)aFruits{
    FMDatabase *db = [BaseFruitsUtil getDataBase];
    
    //打开数据库
    if (![db open]) {
        [db close];
        NSLog(@"打开数据库失败");
        return;
    }
    // 设置缓存
    [db setShouldCacheStatements:YES];
    
    // 执行插入语句
    [db executeUpdate:@"INSERT INTO test (fruits_name, fruits_content) VALUES (?,?)",aFruits.fruitsTitle,aFruits.fruitsContent];
    
    // 关闭数据库
    [db close];

}

// 删除数据库中得数据
+ (void)deleteFruits:(NSString *)aFruitsName{
    FMDatabase *db = [BaseFruitsUtil getDataBase];
    
    if (![db open]) {
        [db close];
        return;
    }
    [db setShouldCacheStatements:YES];
    
    [db executeUpdate:@"DELETE FROM test WHERE fruits_name = ?",aFruitsName];
    
    [db close];
}

// 更新数据库中的数据信息
+ (void)updateFruits:(Fruits *)aFruitsContents{
    FMDatabase *db = [BaseFruitsUtil getDataBase];
    
    if (![db open]) {
        [db close];
        return;
    }
    [db setShouldCacheStatements:YES];
    
//    [db executeUpdate:@"UPDATE test SET fruits_content = ? WHERE fruits_name = ?",aFruitsContents.fruitsContent ,aFruitsContents.fruitsTitle];
    [db executeUpdate:@"UPDATE test SET fruits_name = ? WHERE fruits_id = ?", aFruitsContents.fruitsTitle ,aFruitsContents.fruitsId];
    [db close];

}
@end
